"""
创建大量对象时节省内存方法

问题：
    你的程序要创建大量(可能上百万)的对象，导致占用很大的内存。
解决方案：
    对于主要是用来当成简单的数据结构的类而言，你可以通过给类添加 __slots__ 属性来极大的减少实例所占的内存。
"""


class User:
    __slots__ = ["uid", "user_name", "real_name"]

    def __init__(self, uid, user_name, real_name):
        self.uid = uid
        self.user_name = user_name
        self.real_name = real_name

    def __str__(self):
        return "({0.uid!s}, {0.user_name!s}, {0.real_name!s})".format(self)


def use_user():
    user = User(10001, "Kevin", "Kevin Zhao")
    print(user)
    # 输出结果：
    """
    (10001, Kevin, Kevin Zhao)
    """


if __name__ == '__main__':
    use_user()
